wieloczujnikowe_uwierzytelnianie_ciaglefandomcom_pl-20200214-history
Specyfikacja Dodatkowa
Wymagania System wykorzystuje uwierzytelnianie z użyciem smartfonu, oprogramowania uruchomionego działającego na zdalnym serwerze oraz dodatkowych urządzeń jak tablet, smartwatch lub smartband. Algorytmem klasyfikacji proponowany w tym systemie to algorytm wektorów nośnych (SVM), ale można też wykorzystać inny algorytm uczenia się. System ten ma na celu zastąpienie standardowego odblokowywania smartfonu za pomocą kodu pin odblokowywaniem za pomocą „siebie”. System ten przede wszystkim ma na celu ochronę danych na smartfonie w wypadku, gdy użytkownik zgubi smartfon lub zostanie mu on skradziony. System nie zapewnia pełnej ochrony, ponieważ zdeterminowana i posiadająca odpowiednią wiedzę strona atakująca jest w stanie uzyskać dostęp do urządzenia. W takich sytuacjach system jest w stanie dać wystarczającą ilość czasu właścicielowi by po zauważeniu straty był w stanie za pomocą innych narzędzi zablokować zdalnie dostęp do smartfonu lub zablokować dostęp smartfonowi do kont oraz urządzeń sparowanych z nim. Use Case System wyróżnia trzech aktorów: właściciela smartfonu, operatora systemu, oraz zdalny serwer. Do czynności jakich dokonać może właściciel smartfonu należy wysyłanie zgłoszeń w razie problemu z systemem. Wysyłanie zgłoszeń polega na wypełnieniu formularza zgłoszeniowego z wykorzystaniem do tego internetu. Jeżeli właściciel nie posiada profilu na swoim smartfonie lub zaszły duże zmiany w stosunku do istniejącego profilu ma on możliwość utworzenia nowego profilu. Właściciel dokonuje na swoim smartfonie aktywacji usługi uwierzytelniania ciągłego poprzez wybór profilu, do którego przypisany jest konkretny model użytkownika. Jeżeli na smartfonie właściciel nie posiada pożądanego modelu do wybranego profilu lub chce posiadać zaktualizowany model może ściągnąć model użytkownika tylko w sytuacji, gdy ten znajduje się na serwerze. Właściciel w czasie zbierania danych przez system potwierdza w jakim okresie był on rzeczywistym użytkownikiem smartfonu, aby tylko dane zebrane podczas jego użytkowania posłużyły do tworzenia lub aktualizowania profilu. Operator systemu będący również dostawcą usługi zajmuje się przyjmowaniem zgłoszeń od użytkowników systemu, zdefiniowanych jako właścicieli smartfonów. Po otrzymaniu zgłoszenia w formie formularzu zgłoszeniowego operator weryfikuje zgłoszenie kontaktując się telefonicznie z klientem. Po pozytywnej weryfikacji użytkownika i potwierdzeniu wystąpienia problemu operator może dokonać dezaktywacji usługi. Serwer pobiera oraz przechowuje dane, które zostały zebrane podczas użytkowania przez urządzenia należące do właściciela. Dane służą do stworzenia modelu użytkownika lub zaktualizowania wybranego model. Wytworzony lub zaktualizowany model jest przechowywany na serwerze i dostępny w każdym momencie do ściągnięcia przez właściciela smartfonu. Sposób działania aplikacji Aplikacja działa na smartfonie oraz łączy się z serwerem. Po uruchomieniu aplikacji ta próbuje nawiązać połączenie z internetem. W przypadku udanego połączenia z internetem aplikacja pobiera aktualny model użytkownika z serwera i użytkownik dostaje możliwość wyboru jednego z dwóch trybów „Tworzenie nowego profilu” oraz „Wybór profilu”. W przypadku, gdy nie nastąpiło udane połączenie z siecią oraz użytkownik nie posiada na smartfonie profilu użytkownika z przypisanym do niego klasyfikatorem, użytkownik ma możliwość wyboru tylko trybu „Tworzenie nowego profilu”, jeżeli użytkownik posiada na smartfonie profil z przypisanym do niego klasyfikatorem ma możliwość dodatkowo wyboru trybu „Ciągłe uwierzytelnianie”. W sytuacji, gdy użytkownik mimo połączenia z serwerem za pomocą sieci nie posiada modelu użytkownika, jego jedyną opcją pozostaje stworzenie nowego profilu. Aplikacja w trybie „Tworzenie nowego profilu” prosi o podanie nazwy profilu użytkownika, a następnie użytkownik wybiera metodę tworzenia profilu. Tworząc profil użytkownik ma do wyboru jedną z dwóch metod. Pierwszą metodą jest stworzenie profilu w oparciu o nowo zebrane dane z czujników. Druga metoda polega na wykorzystaniu już istniejących danych znajdujących się na urządzeniach lub na serwerze, które pozwolą skrócić czas na zebranie odpowiedniej ilości danych. Dane pochodzące z czujników smartfonu są wysyłane do ekstrakcji cech i budowy wektora. Po zebraniu odpowiedniej liczby danych do budowy wektorów następuje wysłanie ich na serwer usługi, gdzie dane zostaną zapisane. Następnie dane te przy użyciu algorytmu SVM służą do utworzenia modelu użytkownika. Po utworzeniu modelu użytkownika, model zostaje wysłany do pamięci smartfonu. Po uruchomieniu aplikacji w trybie „Ciągłego uwierzytelniania” aplikacja działa w tle i zaczyna się faza monitorowania podczas której aplikacja monitoruje działanie użytkownika. Użytkownik w czasie działania tego trybu ma możliwość dodania lub usunięcia dodatkowych urządzeń z jakich chce pobierać dane. Aplikacja zapisuje dane pochodzące z czujników a następnie za ich pomocą tworzy wektor cech do klasyfikacji i porównuje go z tym obecnym na smartfonie. W przypadku nieudanej autoryzacji smartfon zostaje zablokowany. W przypadku pozytywnej autoryzacji dane są wysyłane na serwer usługi, gdzie uruchamiają działające oprogramowanie uczenia maszynowego co pozwoli na uaktualnienie dotychczasowego modelu użytkownika. Przy ponownym uruchomieniu aplikacji wraz z aktywnym połączeniem do sieci nowy model użytkownika znajdujący się na serwerze jest gotowy do ściągnięcia przez użytkownika na jego smartfon. Wymagania sprzętowe Smartfon z wbudowanymi czujnikami i akcesoriami, takimi jak akcelerometr, czujnik orientacji, magnetometr, żyroskop i GPS. Te czujniki są w stanie zapewnić dane z wysoką precyzją i dokładnością oraz są przydatne do monitorowania trójwymiarowego ruchu urządzenia, pozycjonowania lub monitorowania zmian w otoczeniu w pobliżu urządzenia mobilnego. Licencja Copyright 2018 Kamil Nowak Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.